package com.taxi.driver.util;

import android.app.Activity;
import android.content.Context;

import com.tencent.bugly.Bugly;
import com.tencent.bugly.beta.Beta;

/**
 * Bugly配置工具类：
 * 版本升级、错误日志收集
 */
public class BuglyUtils {

    /****************************************
     *
     * 注意事项：
     * 需要在AndroidManifest.xml中，添加如下申明：
     <!-- Bugly升级提示页 -->
     <activity
     android:name="com.tencent.bugly.beta.ui.BetaActivity"
     android:configChanges="orientation|keyboardHidden|screenSize"
     android:screenOrientation="portrait"
     android:theme="@android:style/Theme.Translucent" />
     *
     ****************************************/

    /**
     * 配置Bugly，建议放在Application中
     *
     * @param context            上下文
     * @param appId              应用对应的 bugly appId
     * @param logoIconId         logo图片的id
     * @param canShowUpgradeActs 需要显示"更新弹窗"的Activities
     */
    public static void initDefault(Context context, String appId, int logoIconId,
                                   Class<? extends Activity>... canShowUpgradeActs) {
        /**
         * true表示app启动自动初始化升级模块；
         * false不会自动初始化；
         * 如果担心sdk初始化影响app启动速度，可以设置为false；
         * 在后面某个时刻手动调用Beta.init(getApplicationContext(), false);
         */
        Beta.autoInit = true;
        /**
         * true表示初始化时自动检测升级；
         * false表示不会自动检测
         */
        Beta.autoCheckUpgrade = true;
        /**
         * 设置升级检查周期为5分钟
         */
        Beta.upgradeCheckPeriod = 5 * 60 * 1000;
        /**
         * 设置启动延时为2s（默认为3s），避免影响app启动速度
         */
        Beta.initDelay = 2 * 1000;
        /**
         * 设置通知栏和状态栏图标
         */
        Beta.largeIconId = logoIconId;
        Beta.smallIconId = logoIconId;
        /**
         * 设置允许显示更新弹窗的Activities
         */
        if (canShowUpgradeActs.length > 0)
            for (int i = 0; i < canShowUpgradeActs.length; i++) {
                Beta.canShowUpgradeActs.add(canShowUpgradeActs[i]);
            }

//        统一初始化Bugly包括Beta
        Bugly.init(context.getApplicationContext(), appId, false);
    }

    /**
     * 检测版本更新
     */
    public static void checkUpdate() {
        Beta.checkUpgrade();
    }

}